Horner's rule (also referred to as Horner's scheme or Horner's algorithm) is an efficient way of calculating polynomials, useful for both hardware and software.
A polynomial can be described as:
                              p          ⁡                      (            x            )                          =                                            ∑                              i                =                0                            n                        ⁢                                                  ⁢                                          a                i                            ⁢                              x                i                                              =                                    a              0                        +                                          a                1                            ⁢              x                        +                                          a                2                            ⁢                              x                2                                      +                                          a                3                            ⁢                              x                3                                      +            …            +                                          a                n                            ⁢                              x                n                                                                        (        1        )            For an example where n=5, this can be reformatted using Horner's rule as:p(x)=a0+x(a1+x(a2+x(a3+x(a4+a5X))))  (2)This has the advantage of removing the calculations of powers of x. There are still as many addition operations as there are coefficients, and as many multiplication operations as there are terms of x. For this case of n=5, there are five addition operations, and five multiplication operations. For small inputs—i.e., inputs substantially less than 1—the number of terms that need to be calculated is low, because later terms become vanishingly small.
However, even for a small number of terms, substantial resources may be required. For example, applications in which these operations are used frequently call for double-precision arithmetic. In a PLD such as those sold by Altera Corporation under the trademark STRATIX®, this could translate to approximately 8,500 adaptive look-up tables (ALUTs) and 45 18×18 multipliers.